﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace PTA.NET
{
    public class ChuyenDiem
    {
        string[] a;
        string[] Tra_K; 
        
        public ChuyenDiem(string GioiTinh)
        {
           a = File.ReadAllLines(".\\Data\\BangChuyenDiem\\" + GioiTinh + "\\ChuyenDiem.txt");
           Tra_K = File.ReadAllLines(".\\Data\\BangChuyenDiem\\" + GioiTinh + "\\K.txt");
        }

        public int? TraDiem(string GioiTinh, int? DiemTho, string CotDiem, int K = 0)
        {
            if (DiemTho == null) return null;
            Console.WriteLine("=================================");
            Console.WriteLine(CotDiem);
            Console.WriteLine("Thô: " + DiemTho.ToString());

            // Tính điểm K với: Hs, Pd, Pt, Sc, Ma
            if (CotDiem.ToLower() == "hs")
            {
                DiemTho += int.Parse(Tra_K[K].Split('#')[1]);
            }
            else if (CotDiem.ToLower() == "pd")
            {
                DiemTho += int.Parse(Tra_K[K].Split('#')[2]);
            }
            else if (CotDiem.ToLower() == "pt")
            {
                DiemTho += K;
            }
            else if (CotDiem.ToLower() == "sc")
            {
                DiemTho += K;
            }
            else if (CotDiem.ToLower() == "ma")
            {
                DiemTho += int.Parse(Tra_K[K].Split('#')[3]);
            }
            

            // Hàng đầu tiên là name của thang điểm
            string[] cols = a[0].Split('#');
            
            int cot = 0;
            
            // Lấy thứ tự cột của CotDiem
            for (int idx = 0; idx < cols.Count(); idx++)
            {
                if (cols[idx].ToLower() == CotDiem.ToLower())
                {
                    cot = idx;
                    break;
                }
            }

            Console.WriteLine("T: " + a[(int)DiemTho + 1].Split('#')[cot]);
            return int.Parse(a[(int)DiemTho + 1].Split('#')[cot]);

        }
    }
}
